import request from '@/config/axios'

// 扫码支付 VO
export interface QrcodePayVO {
  id: number // ID
  userId: number // 用户id
  openid: string // openid
  orgName: string // 机构名称
  orgCode: string // 机构编码
  patientName: string // 姓名
  idCardNo: string // 身份证号
  patientId: string // 病人ID
  clinicNo: string // 门诊号
  phone: string // 电话
  hisBillNos: string // HIS收费单据号串(逗号拼接)
  hisOrderNo: string // HIS订单号
  orderType: string // 订单类型
  orderNumber: string // 支付订单号
  authCode: string // 付款码
  thirdOrderNo: string // 渠道订单号
  amount: number // 订单金额
  otherAmount: number // 其他费用
  payStatus: number // 0 未支付 1 支付成功 2 已退款 3 申请退款
  payTime: Date // 支付时间
  payType: string // 支付方式
  refundNumber: string // 退款订单号
  refundPrice: number // 退款金额
  refundTime: Date // 退款时间
  refundReason: string // 退款原因
  remark: string // 备注
  status: number // 状态
}

// 扫码支付 API
export const QrcodePayApi = {
  // 查询扫码支付分页
  getQrcodePayPage: async (params: any) => {
    return await request.get({ url: `/hospital/qrcode-pay/page`, params })
  },

  // 查询扫码支付详情
  getQrcodePay: async (id: number) => {
    return await request.get({ url: `/hospital/qrcode-pay/get?id=` + id })
  },

  // 新增扫码支付
  createQrcodePay: async (data: QrcodePayVO) => {
    return await request.post({ url: `/hospital/qrcode-pay/create`, data })
  },

  // 修改扫码支付
  updateQrcodePay: async (data: QrcodePayVO) => {
    return await request.put({ url: `/hospital/qrcode-pay/update`, data })
  },

  // 删除扫码支付
  deleteQrcodePay: async (id: number) => {
    return await request.delete({ url: `/hospital/qrcode-pay/delete?id=` + id })
  },


  // 扫码支付退款
  refundQrcodePay: async (data: QrcodePayVO) => {
    return await request.post({ url: `/hospital/qrcode-pay/refund`, data })
  },

  // 扫码支付查询支付状态
  queryQrcodePayStatus: async (id: number) => {
    return await request.get({ url: `/hospital/qrcode-pay/query?id=` + id })
  },

  // 导出扫码支付 Excel
  exportQrcodePay: async (params) => {
    return await request.download({ url: `/hospital/qrcode-pay/export-excel`, params })
  }
}
